package com.bzm.pojo.bzm;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.bzm.pojo.plugins.im.ImChatMsg;

import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * im_chat聊天记录
 * </p>
 *
 * @author hemiao
 * @since 2022-10-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BzmImChatMsgLogs implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 消息id
     */
    private String msgLogsId;

    /**
     * 日志类型   1、系统消息
     */
    private Integer logsType;

    /**
     * 用户id  消息属于谁的
     */
    private String userId;

    /**
     * 朋友信息表id
     */
    private String friendId;

    /**
     * 群信息id  当消息类型为 2时
     */
    private String groupId;

    /**
     * 发送类型：1、点对点个人消息  2、群消息
     */
    private Integer toType;

    /**
     * 发送者id
     */
    private String sendId;

    /**
     * 发送时间
     */
    private LocalDateTime sendTime;

    /**
     * 接受者id
     */
    private String receiveId;

    /**
     * 读取时间
     */
    private LocalDateTime receiveTime;

    /**
     * 消息类型   1 表示文本消息, 2 表示图片， 3 表示语音， 4 表示视频，
     */
    private String msgType;

    /**
     * 消息内容
     */
    private String msgContent;

    /**
     * 消息读状态    1、已读    ，  2、未读
     */
    private Integer msgReadStatus;

    /**
     * 离线消息    1、在线  ， 2、离线
     */
    private Integer msgOfflineStatus;

    private LocalDateTime createTime;

    private String createUserId;

    /**
     * 聊天信息版本 1.0.0 开始
     */
    private String chatVersion;

    /**
     * 数据来源：  1000、电脑网页 （默认）
     */
    private Integer dataSources;

    /**
     * 发送者ip地址
     */
    private String ipSendLocation;

    /**
     * 接受者ip地址
     */
    private String ipReceiveLocation;

    /**
     * 是否是好友关系  1、好友   2、不是
     */
    private Integer checkFriend;

    /**
     * 数据状态   1、正常     2、删除
     */
    private Integer dataStatus;
    
	public void getToInitObj(BzmImChatMsgLogs logs, ImChatMsg msg) {
		String sId = msg.getSendId();
		String rId = msg.getReceiveId();
		String msgId = msg.getMsgId();
		String groupId = msg.getGroupId();
		logs.setMsgLogsId(msgId);	
		logs.setUserId(sId);		
		logs.setGroupId(groupId);
		logs.setSendId(sId);
		logs.setSendTime(msg.getSendTime());
		logs.setReceiveId(rId);
		logs.setMsgType(String.valueOf(msg.getMsgType()));
		logs.setMsgContent(msg.getMsgContent());
		logs.setToType(msg.getImType());
	}


}
